package com.niuwa.p2p.service.business;

import java.util.List;
import java.util.Map;

import com.niuwa.p2p.entity.business.DirectProduct;
import com.niuwa.p2p.vo.business.ClaimDetailVo;
import com.niuwa.p2p.vo.business.ProductVo;
import com.niuwa.p2p.vo.front.product.FrontProductDetailVo;
import com.niuwa.p2p.vo.front.product.FrontProductListVo;


/**
 * @title 直投产品Service
 *
 * @author Percy.Lo
 * @version 1.0
 * @created 2015年3月19日
 */
public interface IDirectProductService {

	/**
	 * 初始化直投产品
	 */
	public int addDirectProduct(DirectProduct product); 
	
	/**
	 * 根据项目编号统计产品数量
	 */
	public int getCountByProjectNo(String projectNo); 
	
	
	/**
	 * 根据产品编号获取产品信息
	 * @param prodCode
	 * @return
	 */
	public DirectProduct selectDirectProdByCode(String prodCode) throws Exception; 
	
	
	/**
	 * 更新直投产品信息表
	 * @param product
	 * @throws Exception
	 */
	public void updateDirectProduct(DirectProduct product) throws Exception;
	
	
	/**
	 * 直投产品发布
	 * @param directProduct
	 * @return
	 * @throws Exception
	 */
	public Map<String,Object> applyPublish(ProductVo productVo,String remark) throws Exception;
	
	
	/**
	 * 获取产品相关信息
	 * @param productCode
	 * @return
	 */
	public ClaimDetailVo getProductRelativeInfo(String productCode) throws Exception;
	
	
	//====================== 前台使用  Add by bwz begin ==============================
	/**
	 * 根据条件查询直投产品列表
	 * @param paramMap
	 * @return
	 * @throws Exception
	 */
	public List<FrontProductListVo> selectChoicenessProductListPage(Map<String,Object> paramMap) throws Exception;
	
	
	/**
     * @Description: 直投产品详细信息
     * @param paramMap
     * @return
     */
    public FrontProductDetailVo getDirectProductDetail(Map<String, Object> paramMap);

    
    
	//====================== 前台使用  Add by bwz end ==============================
	
	
	
}
